home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-12-27 | 17.4 KB | 480 lines |
- 10 ' FOS Program Section 2
- 15 '
- 20 CLEAR:DIM Z#(36):ON ERROR GOTO 4710
- 22 '
- 23 ' Drive designation in Line 25 must equal designation in Line 65 of FOS Pgm.
- 24 '
- 25 DRIVE$="A"
- 26 '
- 30 KEY OFF:COLOR 7,0:K1%=0:GOSUB 4520
- 40 ON KEY(1) GOSUB 920:KEY(1) ON:ON KEY(2) GOSUB 940:KEY(2) ON
- 50 ON KEY(9) GOSUB 4640:ON KEY(10) GOSUB 4650
- 60 PRINT TAB(24)"FILE MAINTENANCE AND DATA ANALYSIS.
- 70 PRINT STRING$(80,196):LOCATE 5,1
- 80 PRINT" 1 - INITIALIZE a given FOS file. This is to be used the FIRST time
- 90 PRINT" you intend to use a file. For example, to start up your first
- 100 PRINT" checking account (Checking Account #1) you would run this option
- 110 PRINT" to initialize two files... Checking Account #1 Outstanding cks.
- 120 PRINT" and Checking Account #1 Canceled Cks.
- 130 PRINT
- 140 PRINT" 2 - ENLARGE a file already being used. For example, assume you are
- 150 PRINT" are using Checking Account #2 and in the process of entering
- 160 PRINT" data relative to a check you wrote, you receive the message:
- 170 PRINT" CHECKING ACCOUNT #2 OUTSTANDING CHECKS FILE FULL, you would use
- 180 PRINT" this option to add more space to that already existing file.
- 190 PRINT:PRINT" 3 - PLOT monthly expenses, by category, for any year, list
- 200 PRINT" expense totals, by category, during any period of time, or list
- 210 PRINT" tax related items over any period of time.":PRINT
- 220 PRINT" 9 - RETURN to main FOS menu.
- 230 PRINT:GOSUB 930
- 240 KB$=INKEY$:IF KB$="" THEN 240
- 250 IF K1%=1 THEN 310
- 260 IF KB$="1" THEN 1100
- 270 IF KB$="2" THEN 320
- 280 IF KB$="3" THEN 1590
- 290 IF KB$="9" THEN 310
- 300 BEEP:GOTO 240
- 310 CLS:LOCATE 10,25:PRINT"Loading FOS Program section 1...":CHAIN DRIVE$+":FOS"
- 320 CLOSE:K1%=0:CLS:PRINT TAB(30);:COLOR 31
- 330 PRINT "F I L E E N L A R G E R":COLOR 7:PRINT
- 340 PRINT" 0 - Checking account #1 (Outstanding checks)
- 350 PRINT" 1 - Checking account #1 (Canceled checks)
- 360 PRINT:PRINT" 2 - Checking account #2 (Outstanding checks)
- 370 PRINT" 3 - Checking account #2 (Canceled checks)
- 380 PRINT:PRINT" 4 - Checking account #3 (Outstanding checks)
- 390 PRINT" 5 - Checking account #3 (Canceled checks)
- 400 PRINT:PRINT" 8 - Special accounts
- 410 PRINT" 9 - Cash Expenditures":PRINT
- 420 PRINT" Enter file to be ENLARGED: ";
- 430 SOUND 1200,0.5:INPUT"",KB$:IF K1%=1 THEN 20
- 440 IF LEN(KB$)<>1 THEN BEEP:GOTO 420
- 450 IF KB$="8" THEN GOSUB 1080:GOTO 550
- 460 IF KB$="9" THEN GOSUB 1000:GOTO 680
- 470 IF KB$="0" THEN GOSUB 1010:GOTO 680
- 480 IF KB$="2" THEN GOSUB 1020:GOTO 680
- 490 IF KB$="4" THEN GOSUB 1030:GOTO 680
- 500 IF KB$="1" THEN GOSUB 1050:GOTO 800
- 510 IF KB$="3" THEN GOSUB 1060:GOTO 800
- 520 IF KB$="5" THEN GOSUB 1070:GOTO 800
- 530 BEEP:PRINT:PRINT" Invalid file selected...":PRINT:GOSUB 950:GOTO 380
- 540 ' SPECIAL ACCOUNTS
- 550 PRINT:R%=1:GET#1,R%:IF A$="A" OR A$="B" THEN 570
- 560 IF A$="E" THEN 580 ELSE 640
- 570 R%=R%+1:GET#1,R%:IF A$="E" THEN 580 ELSE 570
- 580 PRINT" File presently has room for a total of" R%-1 " records.":PRINT
- 590 INPUT" How many ADDITIONAL records do you want space reserved for? ",KB%
- 600 IF K1%=1 THEN 320 ELSE KB%=KB%+R%:LSET A$="A"
- 610 FOR I=R% TO KB%:PUT#1,I:NEXT:LSET A$="E":PUT#1,KB%
- 620 PRINT:PRINT" File has now been enlarged per your request."
- 630 GOSUB 950:CLS:CLOSE:GOTO 320
- 640 PRINT:PRINT"You cannot ENLARGE this file because you have not INITIALIZED
- 650 PRINT"it yet. Please perform the INITIALIZE function.
- 660 CLOSE:GOSUB 950:GOTO 20
- 670 ' CASH EXPENDITURES AND CURRENT CHECKS
- 680 PRINT:R%=1:GET#1,R%:IF A$="A" OR A$="B" THEN 700
- 690 IF A$="E" THEN 710 ELSE 770
- 700 R%=R%+1:GET#1,R%:IF A$="E" THEN 710 ELSE 700
- 710 PRINT" File presently has room for a total of" R%-1 " records.":PRINT
- 720 INPUT" How many ADDITIONAL records do you want space reserved for? ",KB%
- 730 IF K1%=1 THEN 320 ELSE KB%=KB%+R%:LSET A$="A"
- 740 FOR I=R% TO KB%:PUT#1,I:NEXT:LSET A$="E":PUT#1,KB%
- 750 PRINT:PRINT" File has now been enlarged as requested."
- 760 GOSUB 950:CLS:CLOSE:GOTO 320
- 770 PRINT:PRINT"You cannot ENLARGE this file because you have not INITIALIZED
- 780 PRINT"it yet. Please perform the INITIALIZE function.
- 790 CLOSE:GOSUB 950:GOTO 20
- 800 PRINT:R%=1:GET#1,R%:IF A$="A" OR A$="B" THEN 820
- 810 IF A$="E" THEN 830 ELSE 890
- 820 R%=R%+1:GET#1,R%:IF A$="E" THEN 830 ELSE 820
- 830 PRINT" File presently has space for a total of" R%-1 " records.":PRINT
- 840 INPUT" How many ADDITIONAL records do you want space reserved for? ",KB%
- 850 IF K1%=1 THEN 320 ELSE KB%=KB%+R%:LSET A$="A"
- 860 FOR I=R% TO KB%:PUT#1,I:NEXT:LSET A$="E":PUT#1,KB%
- 870 PRINT:PRINT" File has now been enlarged as requested."
- 880 GOSUB 950:CLS:CLOSE:GOTO 320
- 890 PRINT:PRINT"You cannot ENLARGE this file because you have not INITIALIZED
- 900 PRINT"it yet. Please perform the INITIALIZE function.
- 910 CLOSE:GOSUB 950:GOTO 20
- 920 K1%=1:RETURN
- 930 LOCATE 23,30:COLOR 18:PRINT"Enter function desired: ";:COLOR 7:SOUND 800,0.5:RETURN
- 940 COLOR 7,0:CLOSE:CLS:PRINT"Welcome to BASIC...":PRINT:END
- 950 COLOR 18:PRINT TAB(55)"Hit any key to continue..";:COLOR 7
- 960 KB$=INKEY$:IF KB$="" THEN 960 ELSE RETURN
- 970 OPEN DRIVE$+":SAVINGS1.FOS" AS 1 LEN=62:GOTO 990
- 980 OPEN DRIVE$+":SAVINGS2.FOS" AS 1 LEN=62
- 990 FIELD#1,1 AS A$,8 AS B$,8 AS C$,1 AS D$,8 AS E$,36 AS G$:RETURN
- 1000 OPEN DRIVE$+":CASHEXP.FOS" AS 1 LEN=59:GOTO 1040
- 1010 OPEN DRIVE$+":CHKCUR1.FOS" AS 1 LEN=59:GOTO 1040
- 1020 OPEN DRIVE$+":CHKCUR2.FOS" AS 1 LEN=59:GOTO 1040
- 1030 OPEN DRIVE$+":CHKCUR3.FOS" AS 1 LEN=59
- 1040 FIELD#1,1 AS A$,8 AS B$,8 AS C$,2 AS D$,2 AS E$,1 AS F$,37 AS G$:RETURN
- 1050 OPEN DRIVE$+":CHKCAN1.FOS" AS 1 LEN=59:GOTO 1040
- 1060 OPEN DRIVE$+":CHKCAN2.FOS" AS 1 LEN=59:GOTO 1040
- 1070 OPEN DRIVE$+":CHKCAN3.FOS" AS 1 LEN=59:GOTO 1040
- 1080 OPEN DRIVE$+":SPECIAL.FOS" AS 1 LEN=62
- 1090 FIELD#1,1 AS A$,8 AS B$,8 AS C$,1 AS D$,4 AS E$,40 AS G$:RETURN
- 1100 CLS:PRINT TAB(20);:COLOR 31:K1%=0
- 1110 PRINT "F I L E I N I T I A L I Z A T I O N":COLOR 7:PRINT
- 1120 PRINT" 0 - Checking account # 1 (Outstanding checks)
- 1130 PRINT" 1 - Checking account # 1 (Canceled checks)
- 1140 PRINT:PRINT" 2 - Checking account # 2 (Outstanding checks)
- 1150 PRINT" 3 - Checking account # 2 (Canceled checks)
- 1160 PRINT:PRINT" 4 - Checking account # 3 (Outstanding checks)
- 1170 PRINT" 5 - Checking account # 3 (Canceled checks)
- 1180 PRINT:PRINT" 6 - Savings account # 1
- 1190 PRINT" 7 - Savings account # 2
- 1200 PRINT:PRINT" 8 - Special accounts
- 1210 PRINT" 9 - Cash Expenditures":PRINT
- 1220 PRINT" Enter file to be INITIALIZED: ";
- 1230 SOUND 1300,0.5:INPUT"",KB$:IF K1%=1 THEN 20
- 1240 IF LEN(KB$)<>1 THEN BEEP:GOTO 1220
- 1250 IF KB$="6" OR KB$="7" THEN 1300 ELSE PRINT
- 1260 PRINT " Enter the maximum number of records you will have in this file"
- 1270 PRINT " at any one time: ";
- 1280 INPUT"",KB%:IF K1%=1 THEN 1100
- 1290 IF KB%<2 THEN BEEP:GOTO 1260
- 1300 PRINT:COLOR 30:PRINT"CAUTION... This function will destroy any data ";
- 1310 PRINT"already in this file."
- 1320 COLOR 7,0:PRINT:SOUND 1600,2
- 1330 PRINT" If you are sure you want to continue... enter the word";
- 1340 PRINT" PROCEED: ";:INPUT"",KB1$
- 1350 IF K1%=1 THEN 1100
- 1360 IF KB1$="proceed" OR KB1$="PROCEED" THEN 1370 ELSE BEEP:GOTO 1330
- 1370 FILE%=VAL(KB$)
- 1380 IF KB$="8" THEN GOSUB 1080:GOTO 1490
- 1390 IF KB$="6" THEN GOSUB 970:GOTO 1510
- 1400 IF KB$="9" THEN GOSUB 1000:GOTO 1490
- 1410 IF KB$="7" THEN GOSUB 980:GOTO 1510
- 1420 IF KB$="0" THEN GOSUB 1010:GOTO 1530
- 1430 IF KB$="2" THEN GOSUB 1020:GOTO 1530
- 1440 IF KB$="4" THEN GOSUB 1030:GOTO 1530
- 1450 IF KB$="1" THEN GOSUB 1050:GOTO 1490
- 1460 IF KB$="3" THEN GOSUB 1060:GOTO 1490
- 1470 IF KB$="5" THEN GOSUB 1070:GOTO 1490
- 1480 BEEP:PRINT:PRINT" Invalid file selected...":PRINT:GOSUB 950:GOTO 1100
- 1490 LSET A$="A"
- 1500 FOR R%=1 TO KB%:PUT#1,R%:NEXT:LSET A$="E":PUT#1,R%:CLOSE:GOTO 1100
- 1510 LSET A$="A":LSET E$=MKD$(0):FOR R%=1 TO 21:PUT#1,R%:NEXT
- 1520 LSET A$="E":PUT#1,R%:CLOSE:GOTO 1100
- 1530 LSET A$="B":GOSUB 1580:LSET B$=FDATE$:LSET C$=MKD$(0):LSET D$=MKI$(1)
- 1540 LSET E$=MKI$(1):LSET F$="N":LSET G$="Previous balance.":PUT#1,1
- 1550 LSET A$="A":FOR R%=2 TO KB%:PUT#1,R%:NEXT:LSET A$="E"
- 1560 PUT#1,R%:CLOSE:GOTO 1100
- 1570 LSET H$="A"
- 1580 FDATE$=LEFT$(DATE$,2)+"-"+MID$(DATE$,4,2)+"-"+RIGHT$(DATE$,2):RETURN
- 1590 CLOSE:K1%=0:CLS:PRINT TAB(30)"D A T A A N A L Y S I S
- 1600 PRINT:PRINT:PRINT
- 1610 PRINT" 1 - Display monthly expenses for one category for an entire year.
- 1620 PRINT
- 1630 PRINT" 2 - Print monthly expenses for one category for an entire year.
- 1640 PRINT:PRINT:PRINT" 3 - Display tax deductable items.
- 1650 PRINT:PRINT" 4 - Print tax deductable items on printer.
- 1660 PRINT:PRINT:PRINT" 5 - Display total expenses by category.
- 1670 PRINT:PRINT" 6 - Print total expenses by category.
- 1680 GOSUB 930
- 1690 KB$=INKEY$:IF KB$="" THEN 1690
- 1700 IF K1%=1 THEN 20
- 1710 IF KB$="1" THEN B%=0:GOTO 1780
- 1720 IF KB$="2" THEN B%=1:GOTO 1780
- 1730 IF KB$="3" THEN A%=0:GOTO 3130
- 1740 IF KB$="4" THEN A%=1:GOTO 3310
- 1750 IF KB$="5" THEN B%=0:GOTO 3670
- 1760 IF KB$="6" THEN B%=1:GOTO 3670
- 1770 BEEP:GOTO 1690
- 1780 GOSUB 4520:PRINT" Enter two digits for the YEAR you want analyzed or just
- 1790 PRINT:PRINT" press ENTER to use the current year... ";
- 1800 INPUT KB2$:IF K1%=1 THEN 1590
- 1810 IF KB2$="" THEN KB2$=RIGHT$(DATE$,2):GOTO 1840
- 1820 IF LEN(KB2$)=2 THEN 1840
- 1830 BEEP:GOTO 1800
- 1840 CLS:GOSUB 4660:PRINT
- 1850 PRINT:PRINT"From the list above, select a category you would like plotted: ";
- 1860 INPUT KB%:IF K1%=1 THEN 1590
- 1870 IF KB%>9 AND KB%<46 THEN 1890
- 1880 BEEP:GOTO 1850
- 1890 M1#=0:M2#=0:M3#=0:M4#=0:M5#=0:M6#=0:M7#=0:M8#=0:M9#=0:M10#=0:M11#=0:M12#=0
- 1900 GOSUB 1010:GOSUB 2600:CLOSE:GOSUB 1020:GOSUB 2600:CLOSE:GOSUB 1030:GOSUB 2600
- 1910 CLOSE:GOSUB 1050:GOSUB 2600:CLOSE:GOSUB 1060:GOSUB 2600:CLOSE
- 1920 GOSUB 1070:GOSUB 2600:CLOSE:GOSUB 1000:GOSUB 2600:CLOSE
- 1930 RESTORE
- 1940 READ A%,KB1$:IF A%<>KB% THEN 1940
- 1950 GOSUB 2810:IF M13=0 THEN 2300 ELSE M15=M13/60
- 1960 GOSUB 1580
- 1970 IF B%=0 THEN 2020
- 1980 PRINT:BEEP:PRINT" Insure that the printer is ready...":GOSUB 4540
- 1990 IF K1%=1 THEN 1590 ELSE GOSUB 4520
- 2000 PRINT" Now printing requested data...
- 2010 LPRINT:LPRINT KB1$ " 19" KB2$ TAB(70) FDATE$:KB$=CHR$(163):GOTO 2320
- 2020 GOSUB 1580:CLS:PRINT KB1$" 19" KB2$ TAB(70) FDATE$:KB$=CHR$(205)
- 2030 PRINT:PRINT
- 2040 PRINT"Jan ";:PRINT USING"$$######,.##";M1#;
- 2050 PRINT TAB(20);STRING$((M1#/M15),KB$)
- 2060 PRINT"Feb ";:PRINT USING"$$######,.##";M2#;
- 2070 PRINT TAB(20);STRING$((M2#/M15),KB$)
- 2080 PRINT"Mar ";:PRINT USING"$$######,.##";M3#;
- 2090 PRINT TAB(20);STRING$((M3#/M15),KB$):PRINT
- 2100 PRINT"Apr ";:PRINT USING"$$######,.##";M4#;
- 2110 PRINT TAB(20);STRING$((M4#/M15),KB$)
- 2120 PRINT"May ";:PRINT USING"$$######,.##";M5#;
- 2130 PRINT TAB(20);STRING$((M5#/M15),KB$)
- 2140 PRINT"Jun ";:PRINT USING"$$######,.##";M6#;
- 2150 PRINT TAB(20);STRING$((M6#/M15),KB$):PRINT
- 2160 PRINT"Jul ";:PRINT USING"$$######,.##";M7#;
- 2170 PRINT TAB(20);STRING$((M7#/M15),KB$)
- 2180 PRINT"Aug ";:PRINT USING"$$######,.##";M8#;
- 2190 PRINT TAB(20);STRING$((M8#/M15),KB$)
- 2200 PRINT"Sep ";:PRINT USING"$$######,.##";M9#;
- 2210 PRINT TAB(20);STRING$((M9#/M15),KB$):PRINT
- 2220 PRINT"Oct ";:PRINT USING"$$######,.##";M10#;
- 2230 PRINT TAB(20);STRING$((M10#/M15),KB$)
- 2240 PRINT"Nov ";:PRINT USING"$$######,.##";M11#;
- 2250 PRINT TAB(20);STRING$((M11#/M15),KB$)
- 2260 PRINT"Dec ";:PRINT USING"$$######,.##";M12#;
- 2270 PRINT TAB(20);STRING$((M12#/M15),KB$)
- 2280 PRINT:PRINT:PRINT" T O T A L ";USING"$$#######,.##";M14#
- 2290 PRINT:PRINT:CLOSE:GOSUB 4540:GOTO 1840
- 2300 PRINT:PRINT" There were no expenses for the selected category..."
- 2310 GOTO 2290
- 2320 LPRINT:LPRINT"Jan ";:LPRINT USING"$$######,.##";M1#;
- 2330 LPRINT TAB(20);STRING$((M1#/M15),KB$)
- 2340 LPRINT"Feb ";:LPRINT USING"$$######,.##";M2#;
- 2350 LPRINT TAB(20);STRING$((M2#/M15),KB$)
- 2360 LPRINT"Mar ";:LPRINT USING"$$######,.##";M3#;
- 2370 LPRINT TAB(20);STRING$((M3#/M15),KB$):LPRINT
- 2380 LPRINT"Apr ";:LPRINT USING"$$######,.##";M4#;
- 2390 LPRINT TAB(20);STRING$((M4#/M15),KB$)
- 2400 LPRINT"May ";:LPRINT USING"$$######,.##";M5#;
- 2410 LPRINT TAB(20);STRING$((M5#/M15),KB$)
- 2420 LPRINT"Jun ";:LPRINT USING"$$######,.##";M6#;
- 2430 LPRINT TAB(20);STRING$((M6#/M15),KB$):LPRINT
- 2440 LPRINT"Jul ";:LPRINT USING"$$######,.##";M7#;
- 2450 LPRINT TAB(20);STRING$((M7#/M15),KB$)
- 2460 LPRINT"Aug ";:LPRINT USING"$$######,.##";M8#;
- 2470 LPRINT TAB(20);STRING$((M8#/M15),KB$)
- 2480 LPRINT"Sep ";:LPRINT USING"$$######,.##";M9#;
- 2490 LPRINT TAB(20);STRING$((M9#/M15),KB$):LPRINT
- 2500 LPRINT"Oct ";:LPRINT USING"$$######,.##";M10#;
- 2510 LPRINT TAB(20);STRING$((M10#/M15),KB$)
- 2520 LPRINT"Nov ";:LPRINT USING"$$######,.##";M11#;
- 2530 LPRINT TAB(20);STRING$((M11#/M15),KB$)
- 2540 LPRINT"Dec ";:LPRINT USING"$$######,.##";M12#;
- 2550 LPRINT TAB(20);STRING$((M12#/M15),KB$)
- 2560 LPRINT:LPRINT" T O T A L ";USING"$$#######,.##";M14#
- 2570 LPRINT:LPRINT:CLOSE:GOTO 1840
- 2580 END
- 2590 ' READ A FILE AND ACCUMULATE TOTALS BY MONTH
- 2600 GET#1:IF A$="E" THEN RETURN
- 2610 IF A$="B" OR A$="M" THEN 2650
- 2620 IF A$="A" THEN 2630 ELSE RETURN
- 2630 GET#1:IF A$="E" THEN RETURN
- 2640 IF A$<>"B" AND A$<>"M" THEN 2630
- 2650 IF CVI(E$)<>KB% THEN 2630
- 2660 IF RIGHT$(B$,2)<>KB2$ THEN 2630
- 2670 A1$=LEFT$(B$,2)
- 2680 IF A1$="01" THEN M1#=M1#+CVD(C$):GOTO 2630
- 2690 IF A1$="02" THEN M2#=M2#+CVD(C$):GOTO 2630
- 2700 IF A1$="03" THEN M3#=M3#+CVD(C$):GOTO 2630
- 2710 IF A1$="04" THEN M4#=M4#+CVD(C$):GOTO 2630
- 2720 IF A1$="05" THEN M5#=M5#+CVD(C$):GOTO 2630
- 2730 IF A1$="06" THEN M6#=M6#+CVD(C$):GOTO 2630
- 2740 IF A1$="07" THEN M7#=M7#+CVD(C$):GOTO 2630
- 2750 IF A1$="08" THEN M8#=M8#+CVD(C$):GOTO 2630
- 2760 IF A1$="09" THEN M9#=M9#+CVD(C$):GOTO 2630
- 2770 IF A1$="10" THEN M10#=M10#+CVD(C$):GOTO 2630
- 2780 IF A1$="11" THEN M11#=M11#+CVD(C$):GOTO 2630
- 2790 M12#=M12#+CVD(C$):GOTO 2630
- 2800 ' DETERMINE WHICH NOMTH HAS HIGHEST COST
- 2810 M13=0:IF M1#>M13 THEN M13=M1#
- 2820 IF M2#>M13 THEN M13=M2#
- 2830 IF M3#>M13 THEN M13=M3#
- 2840 IF M4#>M13 THEN M13=M4#
- 2850 IF M5#>M13 THEN M13=M5#
- 2860 IF M6#>M13 THEN M13=M6#
- 2870 IF M7#>M13 THEN M13=M7#
- 2880 IF M8#>M13 THEN M13=M8#
- 2890 IF M9#>M13 THEN M13=M9#
- 2900 IF M10#>M13 THEN M13=M10#
- 2910 IF M11#>M13 THEN M13=M11#
- 2920 IF M12#>M13 THEN M13=M12#
- 2930 M14#=M1#+M2#+M3#+M4#+M5#+M6#+M7#+M8#+M9#+M10#+M11#+M12#:RETURN
- 2940 DATA 10,"Appliances.",22,"Entertainment."
- 2950 DATA 34,"Miscellaneous.",11,"Automobile Exp."
- 2960 DATA 23,"Food.",35,"Mortgage."
- 2970 DATA 12,"Capital Inv. (Auto)",24,"Furniture."
- 2980 DATA 36,"Paper/Magazines",13,"Capital Inv. (Bldgs)"
- 2990 DATA 25,"Gasoline/Oil (Auto).",37,"Supplies"
- 3000 DATA 14,"Capital Inv. (Other)",26,"Gas/Oil (Heating)."
- 3010 DATA 38,"Taxes.",15,"Cash Withdrawal."
- 3020 DATA 27,"Hobbies",39,"Telephone."
- 3030 DATA 16,"Clothing.",28,"Insurance."
- 3040 DATA 40,"Tools.",17,"Dental."
- 3050 DATA 29,"Interest.",41,"Tractor/Mower."
- 3060 DATA 18,"Donations (Church)",30,"Lawn/Garden."
- 3070 DATA 42,"Transfer to Invest.",19,"Donations (Other)."
- 3080 DATA 31,"Maint. (Bldgs).",43,"Transfer to Savings"
- 3090 DATA 20,"Education Exp.",32,"Maint. (Other)."
- 3100 DATA 44,"Vacation.",21,"Electricity."
- 3110 DATA 33,"Medical.",45,"Water / Sewer cost."
- 3120 DATA 0,"END"
- 3130 GOSUB 4520:GOSUB 4200:IF K1%=1 THEN 1590
- 3140 GOSUB 4310:IF K1%=1 THEN 1590
- 3150 GOSUB 4520:B%=2:PRINT"Reading Checking Account #1 files...":GOSUB 4560
- 3160 GOSUB 1050:GOSUB 3480:CLOSE:GOSUB 1010:GOSUB 3480:CLOSE
- 3170 PRINT"End of Checking Account #1 data.
- 3180 GOSUB 4540:IF K1%=1 THEN 1590
- 3190 GOSUB 4520:B%=2:PRINT"Reading Checking Account #2 files...":GOSUB 4560
- 3200 GOSUB 1060:GOSUB 3480:CLOSE:GOSUB 1020:GOSUB 3480:CLOSE
- 3210 PRINT"End of Checking Account #2 data.
- 3220 GOSUB 4540:IF K1%=1 THEN 1590
- 3230 GOSUB 4520:B%=2:PRINT"Reading Checking Account #3 files...":GOSUB 4560
- 3240 GOSUB 1070:GOSUB 3480:CLOSE:GOSUB 1030:GOSUB 3480:CLOSE
- 3250 PRINT"End of Checking Account #3 data.
- 3260 GOSUB 4540:IF K1%=1 THEN 1590
- 3270 GOSUB 4520:B%=2:PRINT"Reading Cash Expenditures file...":GOSUB 4560
- 3280 GOSUB 1000:GOSUB 3480:CLOSE
- 3290 PRINT"End of Cash Expenditures data.
- 3300 GOSUB 4540:GOTO 1590
- 3310 B%=6:P%=1:K9%=0:GOSUB 4520:GOSUB 4200:IF K1%=1 THEN 1590
- 3320 GOSUB 4310:IF K1%=1 THEN 1590
- 3330 KEY(9) ON:KEY(10) ON:SOUND 1200,0.5
- 3340 PRINT:PRINT" Insure that the printer is ready.":GOSUB 4540
- 3350 IF K1%=1 THEN 1590 ELSE GOSUB 4520
- 3360 PRINT:PRINT" To temporarily stop the printer, press the F9 key.
- 3370 PRINT:PRINT" To STOP the printer and return to MENU, press the F1 key.
- 3380 LPRINT"TAX RELATED EXPENDITURES... From: " FD1$ " To: " FD2$;
- 3390 LPRINT TAB(70)"PAGE: " P%:LPRINT
- 3400 GOSUB 4600:LPRINT:LPRINT"CHECKING ACCOUNT #1."
- 3410 GOSUB 1050:GOSUB 3480:CLOSE:GOSUB 1010:GOSUB 3480:CLOSE
- 3420 B%=B%+2:LPRINT:LPRINT"CHECKING ACCOUNT #2."
- 3430 GOSUB 1060:GOSUB 3480:CLOSE:GOSUB 1020:GOSUB 3480:CLOSE
- 3440 B%=B%+2:LPRINT:LPRINT"CHECKING ACCOUNT #3."
- 3450 GOSUB 1070:GOSUB 3480:CLOSE:GOSUB 1030:GOSUB 3480:CLOSE
- 3460 B%=B%+2:LPRINT:LPRINT"CASH EXPENDITURES FILE."
- 3470 GOSUB 1000:GOSUB 3480:CLOSE:LPRINT CHR$(140):GOTO 1590
- 3480 GET#1:IF A$="B" THEN 3520 ELSE RETURN
- 3490 GET#1:IF A$="E" THEN RETURN
- 3500 IF K1%=1 THEN 1590
- 3510 IF A$="A" THEN 3490
- 3520 IF F$="N" OR F$="n" THEN 3490
- 3530 Y3$=RIGHT$(B$,2):D3$=LEFT$(B$,2)+MID$(B$,4,2)
- 3540 IF Y1$=Y2$ THEN 3580
- 3550 IF Y3$=Y1$ THEN 3630
- 3560 IF Y3$=Y2$ THEN 3640
- 3570 IF Y3$>Y1$ AND Y3$<Y2$ THEN 3600 ELSE 3490
- 3580 IF Y3$<>Y2$ THEN 3490
- 3590 IF D3$<D1$ OR D3$>D2$ THEN 3490
- 3600 IF A%=0 THEN GOSUB 4420:GOTO 3490
- 3610 IF K9%=1 THEN 3650
- 3620 GOSUB 4460:GOTO 3490
- 3630 IF D3$=>D1$ THEN 3600 ELSE 3490
- 3640 IF D3$>D2$ THEN 3490 ELSE 3600
- 3650 LOCATE 24,5:PRINT"Printer stopped by F9 key. To continue, press F10 key.";
- 3660 GOTO 3610
- 3670 FOR C%=1 TO 36:Z#(C%)=0:NEXT
- 3680 CLOSE:GOSUB 4520:GOSUB 4200:IF K1%=1 THEN 1590
- 3690 GOSUB 4310:IF K1%=1 THEN 1590
- 3700 GOSUB 4520:PRINT" Reading Checking Account #1 files...
- 3710 GOSUB 1010:GOSUB 3840:CLOSE:GOSUB 1050:GOSUB 3840:CLOSE
- 3720 PRINT" Reading Checking Account #2 files...
- 3730 GOSUB 1020:GOSUB 3840:CLOSE:GOSUB 1060:GOSUB 3840:CLOSE
- 3740 PRINT" Reading Checking Account #3 files...
- 3750 GOSUB 1030:GOSUB 3840:CLOSE:GOSUB 1070:GOSUB 3840:CLOSE
- 3760 PRINT" Reading Cash Expenditures file...
- 3770 GOSUB 1000:GOSUB 3840:CLOSE:IF B%=1 THEN 3790
- 3780 GOSUB 3990:GOSUB 4540:GOTO 1590
- 3790 PRINT:BEEP:PRINT" Insure that the printer is ready...":GOSUB 4540
- 3800 IF K1%=1 THEN 1590 ELSE GOSUB 4520
- 3810 PRINT" Now printing requested data..."
- 3820 GOSUB 4110:GOTO 1590
- 3830 ' GET A RECORD and ADD AMOUNT TO ARRAY.
- 3840 GET#1:IF A$="B" OR A$="M" THEN 3880 ELSE RETURN
- 3850 GET#1:IF A$="E" THEN RETURN
- 3860 IF K1%=1 THEN 1590
- 3870 IF A$="A" THEN 3850
- 3880 Y3$=RIGHT$(B$,2):D3$=LEFT$(B$,2)+MID$(B$,4,2)
- 3890 IF Y1$=Y2$ THEN 3930
- 3900 IF Y3$=Y1$ THEN 3970
- 3910 IF Y3$=Y2$ THEN 3980
- 3920 IF Y3$>Y1$ AND Y3$<Y2$ THEN 3950 ELSE 3850
- 3930 IF Y3$<>Y2$ THEN 3850
- 3940 IF D3$<D1$ OR D3$>D2$ THEN 3850
- 3950 C%=(CVI(E$)-9):IF C%<1 OR C%>36 THEN 3850
- 3960 Z#(C%)=Z#(C%)+CVD(C$):GOTO 3850
- 3970 IF D3$=>D1$ THEN 3950 ELSE 3850
- 3980 IF D3$>D2$ THEN 3850 ELSE 3950
- 3990 GOSUB 4100:RESTORE:FOR C%=10 TO 30
- 4000 READ A%,KB$:IF A%=0 THEN RESTORE
- 4010 IF A%<>C% THEN 4000
- 4020 PRINT TAB(5) A% " - " KB$ TAB(36) USING"$$######,.##";Z#(C%-9):NEXT
- 4030 GOSUB 4540:RESTORE:GOSUB 4100:FOR C%=31 TO 45
- 4040 READ A%,KB$:IF A%=0 THEN RESTORE
- 4050 IF A%<>C% THEN 4040
- 4060 PRINT TAB(5) A% " - " KB$ TAB(36) USING"$$######,.##";Z#(C%-9):NEXT
- 4070 A#=0:FOR C%=1 TO 36:A#=A#+Z#(C%):NEXT
- 4080 A#=A#-Z#(6)
- 4090 PRINT:PRINT TAB(13) "GRAND TOTAL:" TAB(35) USING"$$#######,.##";A#:RETURN
- 4100 GOSUB 4520:PRINT"E X P E N S E T O T A L S FROM: " FD1$ " TO: " FD2$:PRINT:RETURN
- 4110 GOSUB 4190:RESTORE:FOR C%=10 TO 45
- 4120 READ A%,KB$:IF A%=0 THEN RESTORE
- 4130 IF A%<>C% THEN 4120
- 4140 LPRINT TAB(5) A% " - " KB$ TAB(36) USING"$$######,.##";Z#(C%-9):NEXT
- 4150 A#=0:FOR C%=1 TO 36:A#=A#+Z#(C%):NEXT
- 4160 A#=A#-Z#(6)
- 4170 LPRINT:LPRINT TAB(13) "GRAND TOTAL:" TAB(35) USING"$$#######,.##";A#
- 4180 LPRINT CHR$(140):RETURN
- 4190 LPRINT:LPRINT"E X P E N S E T O T A L S FROM: " FD1$ " TO: " FD2$:LPRINT STRING$(80,163):LPRINT:RETURN
- 4200 PRINT
- 4210 PRINT" Enter starting date (0,4, or 6 digits in MMDDYY format): ";
- 4220 X%=POS(0):Y%=CSRLIN:INPUT"",KB$
- 4230 IF LEN(KB$)=6 THEN 4290
- 4240 IF LEN(KB$)=4 THEN 4280
- 4250 IF LEN(KB$)=0 THEN 4270
- 4260 BEEP:GOTO 4210
- 4270 FD1$=LEFT$(DATE$,2)+"-"+MID$(DATE$,4,2)+"-"+RIGHT$(DATE$,2):Y1$=RIGHT$(FD1$,2):D1$=LEFT$(FD1$,2)+MID$(FD1$,4,2):GOTO 4300
- 4280 FD1$=LEFT$(KB$,2)+"-"+MID$(KB$,3,2)+"-"+RIGHT$(DATE$,2):Y1$=RIGHT$(FD1$,2):D1$=KB$:GOTO 4300
- 4290 FD1$=LEFT$(KB$,2)+"-"+MID$(KB$,3,2)+"-"+RIGHT$(KB$,2):Y1$=RIGHT$(KB$,2):D1$=LEFT$(KB$,4)
- 4300 LOCATE Y%,X%:PRINT FD1$:RETURN
- 4310 PRINT
- 4320 PRINT" Enter ending date (0,4, or 6 digits in MMDDYY format): ";
- 4330 X%=POS(0):Y%=CSRLIN:INPUT"",KB$
- 4340 IF LEN(KB$)=6 THEN 4400
- 4350 IF LEN(KB$)=4 THEN 4390
- 4360 IF LEN(KB$)=0 THEN 4380
- 4370 BEEP:GOTO 4320
- 4380 FD2$=LEFT$(DATE$,2)+"-"+MID$(DATE$,4,2)+"-"+RIGHT$(DATE$,2):Y2$=RIGHT$(FD2$,2):D2$=LEFT$(FD2$,2)+MID$(FD2$,4,2):GOTO 4410
- 4390 FD2$=LEFT$(KB$,2)+"-"+MID$(KB$,3,2)+"-"+RIGHT$(DATE$,2):Y2$=RIGHT$(FD2$,2):D2$=KB$:GOTO 4410
- 4400 FD2$=LEFT$(KB$,2)+"-"+MID$(KB$,3,2)+"-"+RIGHT$(KB$,2):Y2$=RIGHT$(KB$,2):D2$=LEFT$(KB$,4)
- 4410 LOCATE Y%,X%:PRINT FD2$:RETURN
- 4420 PRINT CVI(D$) TAB(10) B$ TAB(20) USING"$$######,.##";CVD(C$);
- 4430 PRINT TAB(34) CVI(E$) TAB(40) F$ TAB(44) G$;:B%=B%+1
- 4440 IF B%<21 THEN RETURN
- 4450 B%=0:GOSUB 4540:GOSUB 4520:GOSUB 4560:RETURN
- 4460 LPRINT CVI(D$) TAB(10) B$ TAB(20) USING"$$######,.##";CVD(C$);
- 4470 LPRINT TAB(34) CVI(E$) TAB(40) F$ TAB(44) LEFT$(G$,36):B%=B%+1
- 4480 IF B%<62 THEN RETURN
- 4490 P%=P%+1:LPRINT CHR$(140):LPRINT"TAX RELATED EXPENDITURES... From: ";
- 4500 LPRINT FD1$ " To: " FD2$ TAB(70)"Page: " P%:LPRINT:B%=4
- 4510 GOSUB 4600:RETURN
- 4520 CLS:FDATE$=LEFT$(DATE$,2)+"-"+MID$(DATE$,4,2)+"-"+RIGHT$(DATE$,2)
- 4530 LOCATE 25,72:PRINT FDATE$;:LOCATE 1,1:RETURN
- 4540 LOCATE 25,25:COLOR 18:PRINT"Press any key to continue...";:COLOR 7
- 4550 KB$=INKEY$:IF KB$="" THEN 4550 ELSE RETURN
- 4560 PRINT" ITEM# DATE AMOUNT CODE TAX";
- 4570 PRINT" D E S C R I P T I O N"
- 4580 PRINT" "+STRING$(5,45)+" "+STRING$(8,45)+" "+STRING$(11,45);
- 4590 PRINT" "+STRING$(2,45)+" "+CHR$(45)+" "+STRING$(37,45);:RETURN
- 4600 LPRINT" ITEM# DATE AMOUNT CODE TAX";
- 4610 LPRINT" D E S C R I P T I O N"
- 4620 LPRINT" "+STRING$(5,45)+" "+STRING$(8,45)+" "+STRING$(11,45);
- 4630 LPRINT" "+STRING$(2,45)+" "+CHR$(45)+" "+STRING$(37,45);:RETURN
- 4640 K9%=1:RETURN
- 4650 K9%=0:LOCATE 24,1:PRINT TAB(70);:RETURN
- 4660 LOCATE 1,1:RESTORE
- 4670 READ A%,KB$:IF A%=0 THEN RETURN
- 4680 PRINT A% "- " KB$;:READ A%,KB$:IF A%=0 THEN RETURN
- 4690 PRINT TAB(28) A% "- " KB$;:READ A%,KB$:IF A%=0 THEN RETURN
- 4700 PRINT TAB(54) A% "- " KB$:GOTO 4670
- 4710 IF ERR=24 THEN RESUME
- 4720 IF ERR=6 THEN PRINT"Number too large... re-enter: ":RESUME
- 4730 ON ERROR GOTO 0:RESUME
-